package com.ytjj.qmyx.admin.model;

import java.io.Serializable;
import java.util.Date;

public class ImSessionInfo implements Serializable {
    /**
     * 会话自增id
     *
     * @mbg.generated
     */
    private Integer id;

    /**
     * 客户id或者唯一标识
     *
     * @mbg.generated
     */
    private String customerId;

    /**
     * 客服user_id
     *
     * @mbg.generated
     */
    private String serviceId;

    /**
     * 会话建立时间
     *
     * @mbg.generated
     */
    private Date createTime;

    /**
     * 会话状态1-沟通中 2-已完成 3-已离线
     *
     * @mbg.generated
     */
    private Byte status;

    /**
     * 会话终结时间，完成时间和离线导致的结束时间
     *
     * @mbg.generated
     */
    private Date finalTime;

    /**
     * 来源渠道 h5 app wx
     *
     * @mbg.generated
     */
    private String channel;

    /**
     * 来源设备
     *
     * @mbg.generated
     */
    private String machine;

    /**
     * 来访页面
     *
     * @mbg.generated
     */
    private String enterPage;

    /**
     * 来访ip
     *
     * @mbg.generated
     */
    private String netIp;

    /**
     * 来访页面类型 1-商品详情 2-订单中心 3-个人中心
     *
     * @mbg.generated
     */
    private Byte enterType;

    /**
     * 客服设置服务类型
     *
     * @mbg.generated
     */
    private Byte questionType;

    /**
     * 会话结束描述
     */
    private String remark;

    /**
     * 会话结束发起人
     */
    private String finalUserId;

    /**
     * 客户评价的满意度：未评价-0
     * 非常满意-5
     * 满意-4
     * 一般-3
     * 不满意-2
     * 非常不满意-1
     *
     * @mbg.generated
     */
    private Byte satisfaction;

    /**
     * 报警状态 1-已报警 0-未报警
     */
    private Integer warnStatus;

    /**
     * 报警类型 1-关键字 2-超时未回复
     */
    private Integer warnType;

    public Byte getSatisfaction() {
        return satisfaction;
    }

    public void setSatisfaction(Byte satisfaction) {
        this.satisfaction = satisfaction;
    }

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getServiceId() {
        return serviceId;
    }

    public void setServiceId(String serviceId) {
        this.serviceId = serviceId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public Date getFinalTime() {
        return finalTime;
    }

    public void setFinalTime(Date finalTime) {
        this.finalTime = finalTime;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getMachine() {
        return machine;
    }

    public void setMachine(String machine) {
        this.machine = machine;
    }

    public String getEnterPage() {
        return enterPage;
    }

    public void setEnterPage(String enterPage) {
        this.enterPage = enterPage;
    }

    public String getNetIp() {
        return netIp;
    }

    public void setNetIp(String netIp) {
        this.netIp = netIp;
    }

    public Byte getEnterType() {
        return enterType;
    }

    public void setEnterType(Byte enterType) {
        this.enterType = enterType;
    }

    public Byte getQuestionType() {
        return questionType;
    }

    public void setQuestionType(Byte questionType) {
        this.questionType = questionType;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getFinalUserId() {
        return finalUserId;
    }

    public void setFinalUserId(String finalUserId) {
        this.finalUserId = finalUserId;
    }

    public Integer getWarnStatus() {
        return warnStatus;
    }

    public void setWarnStatus(Integer warnStatus) {
        this.warnStatus = warnStatus;
    }

    public Integer getWarnType() {
        return warnType;
    }

    public void setWarnType(Integer warnType) {
        this.warnType = warnType;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", customerId=").append(customerId);
        sb.append(", serviceId=").append(serviceId);
        sb.append(", createTime=").append(createTime);
        sb.append(", status=").append(status);
        sb.append(", finalTime=").append(finalTime);
        sb.append(", channel=").append(channel);
        sb.append(", machine=").append(machine);
        sb.append(", enterPage=").append(enterPage);
        sb.append(", netIp=").append(netIp);
        sb.append(", enterType=").append(enterType);
        sb.append(", questionType=").append(questionType);
        sb.append(", remark=").append(remark);
        sb.append(", finalUserId=").append(finalUserId);
        sb.append(", warnStatus=").append(warnStatus);
        sb.append(", warnType=").append(warnType);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}